init: Add no-tags and current branch options This avoids fetching tags and branches for huge manifests Change-Id: I19c9724d75364440b881b297d42b906f541f73ff 
diff --git a/repo b/repo index 4293c79..dcd48e0 100755 --- a/repo +++ b/repo 
@@ -23,7 +23,7 @@  # limitations under the License.    # increment this whenever we make important changes to this script -VERSION = (1, 23) +VERSION = (1, 24)    # increment this if the MAINTAINER_KEYS block is modified  KEYRING_VERSION = (1, 2) @@ -175,6 +175,9 @@  group.add_option('-m', '--manifest-name',  dest='manifest_name',  help='initial manifest file', metavar='NAME.xml') +group.add_option('-c', '--current-branch', + dest='current_branch_only', action='store_true', + help='fetch only current manifest branch from server')  group.add_option('--mirror',  dest='mirror', action='store_true',  help='create a replica of the remote repositories ' @@ -202,6 +205,9 @@  group.add_option('--no-clone-bundle',  dest='no_clone_bundle', action='store_true',  help='disable use of /clone.bundle on HTTP/HTTPS') +group.add_option('--no-tags', + dest='no_tags', action='store_true', + help="don't fetch tags in the manifest")      # Tool 
diff --git a/subcmds/init.py b/subcmds/init.py index 45d69b7..bb7187d 100644 --- a/subcmds/init.py +++ b/subcmds/init.py 
@@ -91,6 +91,9 @@  g.add_option('-b', '--manifest-branch',  dest='manifest_branch',  help='manifest branch or revision', metavar='REVISION') + g.add_option('-c', '--current-branch', + dest='current_branch_only', action='store_true', + help='fetch only current manifest branch from server')  g.add_option('-m', '--manifest-name',  dest='manifest_name', default='default.xml',  help='initial manifest file', metavar='NAME.xml') @@ -121,6 +124,9 @@  g.add_option('--no-clone-bundle',  dest='no_clone_bundle', action='store_true',  help='disable use of /clone.bundle on HTTP/HTTPS') + g.add_option('--no-tags', + dest='no_tags', action='store_true', + help="don't fetch tags in the manifest")    # Tool  g = p.add_option_group('repo Version options') @@ -231,7 +237,9 @@  sys.exit(1)    if not m.Sync_NetworkHalf(is_new=is_new, quiet=opt.quiet, - clone_bundle=not opt.no_clone_bundle): + clone_bundle=not opt.no_clone_bundle, + current_branch_only=opt.current_branch_only, + no_tags=opt.no_tags):  r = m.GetRemote(m.remote.name)  print('fatal: cannot obtain manifest %s' % r.url, file=sys.stderr)